An AO System for OO-GPU Programming
نویسندگان
چکیده
Recent technologies, like general purpose computing GPU, have a major limitation consisting in the difficulties that developers face when implementing parallel code using deviceoriented languages. This paper aims to assist developers by automatically producing snippets of code handling GPU-oriented tasks. Our proposed approach is based on Aspect-OrientedProgramming and generates modules in CUDA C compliant code, which are encapsulated and connected by means of JNI. By means of a set of predefined functions we separate the application code from device-dependent concerns, including device memory allocation and management. Moreover, bandwidth utilisation and cores occupancy is automatically handled in order to minimise the overhead caused by host to device communications and the computational imbalance, which often tampers with the effective speedup of a GPU parallelised code. Keywords—Code generation, GPU programming, separation of concerns.
منابع مشابه
Object Metrics for Aspect Systems: Limiting Empirical Inference Based on Modularity
In empirical comparisons of Aspect-Oriented (AO) to ObjectOriented (OO) systems, system properties such as understandability, maintainability, reusability, and testability have often been inferred from other metrics, such as lines of code, sites of change, and modularity. However, in traditional OO metrics suites such system properties are assessed separately from these measures. We applied OO ...
متن کاملImpact of Aspect Oriented Programming on Software Development Quality Metrics
The aspect-oriented programming (AOP) is a new paradigm for improving the system’s features such as modularity, readability and maintainability. Owing to a better modularisation of cross-cutting concerns, the developed system implementation would be less complex, and more readable.Thus, software development efficiency would increase, so the system would be created faster than its objectoriented...
متن کاملAspect-Oriented Formal Modeling: (AspectZ + Object-Z) = OOAspectZ
The aspect-oriented software development (AOSD) paradigm permits modularizing crosscutting concerns of base modules, a non-usual task in other software development paradigms. Since AOSD was born in the programming stage as an extension of an object-oriented (OO) programming language, and AOSD considers, in addition to base modules, new modules named aspects, then a complete AOSD process require...
متن کاملModularization of Crosscutting Concerns in Requirements Engineering
In spite of the generated benefits, Object-Oriented (OO) paradigm seems reaching its limits, regarding complexity reduction of current systems. In this context, the Aspect Oriented (AO) comes up as an alternative to reduce software development complexity while keeping OO advantages. Needs for investigating methodologies of AO Software Development have emerged a long with AO. As an example, Earl...
متن کاملRefactoring to Aspects – an Experiment
Aspect-oriented (AO) programming proposes a solution to the crosscutting problem in Object-oriented (OO) programming by supporting the modularization of crosscutting concerns with new composition mechanisms. This paper evaluates the solution through aspect mining two existing Java code-bases and then refactoring crosscutting concerns found in them into aspects using AspectJ. It documents the pr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015